perm filename INST3.LSP[F76,JMC] blob sn#254299 filedate 1976-12-27 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(DEFUN INST (PAT EXPR ALISTS)
C00003 ENDMK
CāŠ—;
(DEFUN INST (PAT EXPR ALISTS)
(COND
((ISVAR PAT)
(INSTVAR PAT EXPR ALISTS)
)
((ATOM PAT) (COND ((EQ PAT EXPR) ALISTS) (T NIL)))
(T (INST (CDR PAT) (CDR EXPR) (INST (CAR PAT) (CAR EXPR) ALISTS)))))

(DEFUN INSTVAR (PAT EXPR ALISTS)
(COND
((NULL ALISTS) NIL)
(T ((LAMBDA (Z) (COND
((NULL Z) (CONS (CONS (CONS PAT EXPR) (CAR ALISTS)) (INSTVAR PAT EXPR
	(CDR ALISTS))))
((EQUAL (CDR Z) EXPR) (CONS (CAR ALISTS) (INSTVAR PAT EXPR (CDR ALISTS))))
(T (INSTVAR PAT EXPR (CDR ALISTS)))))
(ASSOC PAT (CAR ALISTS))))))

(DEFUN ISVAR (PAT) (AND (ATOM PAT) (EQ (CAR (EXPLODE PAT)) '?)))